package com.yiyahui.project.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.yiyahui.framework.aspectj.lang.annotation.Desensitized;
import com.yiyahui.framework.aspectj.lang.annotation.Excel;
import com.yiyahui.framework.aspectj.lang.enums.SensitiveTypeEnum;
import com.yiyahui.framework.web.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 市场建档对象 yiya_market_reservation
 * 
 * @author yiyahui
 * @date 2020-06-30
 */

@ApiModel(value="市场建档对象")
public class YiyaMarketReservation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** py的对应表主键 */
    @ApiModelProperty(value="py的对应表主键")
    @Excel(name = "py的对应表主键")
    private String oldReservationsId;

    /** 姓名 */
    @ApiModelProperty(value="姓名")
    @Excel(name = "姓名")
    private String name;

    /** 用户头像 */
    @ApiModelProperty(value="用户头像")
    @Excel(name = "用户头像")
    private String imageUrl;

    /** 性别：1.男，2.女 */
    @ApiModelProperty(value="性别：1.男，2.女")
    @Excel(name = "性别：1.男，2.女")
    private Integer sex;

    /** 年龄 */
    @ApiModelProperty(value="年龄")
    @Excel(name = "年龄")
    private Integer age;

    /** 手机号 */
    @ApiModelProperty(value="手机号")
    @Desensitized(type=SensitiveTypeEnum.PHONE)
    private String phoneNumber;

    /** 电话所属关系：0.本人,1.爸爸，2.妈妈，3.儿子，4.女儿，5.爷爷，6.奶奶，7.外公，8.外婆，9.朋友，10.配偶，11.邻居，12.其他，13.兄弟姐妹，14.座机 */
    @ApiModelProperty(value="电话所属关系：0.本人,1.爸爸，2.妈妈，3.儿子，4.女儿，5.爷爷，6.奶奶，7.外公，8.外婆，9.朋友，10.配偶，11.邻居，12.其他，13.兄弟姐妹，14.座机")
    @Excel(name = "电话所属关系：0.本人,1.爸爸，2.妈妈，3.儿子，4.女儿，5.爷爷，6.奶奶，7.外公，8.外婆，9.朋友，10.配偶，11.邻居，12.其他，13.兄弟姐妹，14.座机")
    private Integer phoneOwnership;

    /** 手机号2 */
    @ApiModelProperty(value="手机号2")
    @Desensitized(type=SensitiveTypeEnum.PHONE)
    private String phoneNumber2;

    /** 电话所属关系：0.本人,1.爸爸，2.妈妈，3.儿子，4.女儿，5.爷爷，6.奶奶，7.外公，8.外婆，9.朋友，10.配偶，11.邻居，12.其他，13.兄弟姐妹，14.座机 */
    @ApiModelProperty(value="电话所属关系：0.本人,1.爸爸，2.妈妈，3.儿子，4.女儿，5.爷爷，6.奶奶，7.外公，8.外婆，9.朋友，10.配偶，11.邻居，12.其他，13.兄弟姐妹，14.座机")
    @Excel(name = "电话所属关系：0.本人,1.爸爸，2.妈妈，3.儿子，4.女儿，5.爷爷，6.奶奶，7.外公，8.外婆，9.朋友，10.配偶，11.邻居，12.其他，13.兄弟姐妹，14.座机")
    private Integer phoneOwnership2;

    /** 预约时间 */
    @ApiModelProperty(value="预约时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reservationTime;

    /** 预约门诊 */
    @ApiModelProperty(value="预约门诊")
    @Excel(name = "预约门诊")
    private Long reservationClinic;

    /** 预约病种 */
    @ApiModelProperty(value="预约病种")
    @Excel(name = "预约病种")
    private String reservationDisease;

    /** 访问病种 */
    @ApiModelProperty(value="访问病种")
    @Excel(name = "访问病种")
    private String visitDisease;

    /** 预约号 */
    @ApiModelProperty(value="预约号")
    @Excel(name = "预约号")
    private String reservationNumber;

    /** 病例号 */
    @ApiModelProperty(value="病例号")
    @Excel(name = "病例号")
    private String caseNumber;

    /** 一级渠道 */
    @ApiModelProperty(value="一级渠道")
    @Excel(name = "一级渠道")
    private String channelFirst;

    /** 二级渠道 */
    @ApiModelProperty(value="二级渠道")
    @Excel(name = "二级渠道")
    private String channelSecond;

    /** 三级渠道 */
    @ApiModelProperty(value="三级渠道")
    @Excel(name = "三级渠道")
    private String channelThird;

    /** 一级媒介 */
    @ApiModelProperty(value="一级媒介")
    @Excel(name = "一级媒介")
    private String mediumFirst;

    /** 二级媒介 */
    @ApiModelProperty(value="二级媒介")
    @Excel(name = "二级媒介")
    private String mediumSecond;

    /** 三级媒介 */
    @ApiModelProperty(value="三级媒介")
    @Excel(name = "三级媒介")
    private String mediumThird;

    /** 地址 */
    @ApiModelProperty(value="地址")
    @Excel(name = "地址")
    private String address;

    /** 微信号 */
    @ApiModelProperty(value="微信号")
    @Excel(name = "微信号")
    private String wechatNumber;

    /** qq号 */
    @ApiModelProperty(value="qq号")
    @Excel(name = "qq号")
    private String qqNumber;

    /** 其他联系方式 */
    @ApiModelProperty(value="其他联系方式")
    @Excel(name = "其他联系方式")
    private String otherWay;

    /** 预约医生 */
    @ApiModelProperty(value="预约医生")
    @Excel(name = "预约医生")
    private String reservationDoctor;

    /** 预约tc */
    @ApiModelProperty(value="预约tc")
    @Excel(name = "预约tc")
    private String reservationTc;

    /** 障碍点 */
    @ApiModelProperty(value="障碍点")
    @Excel(name = "障碍点")
    private String obstacle;

    /** 建档人 */
    @ApiModelProperty(value="建档人")
    @Excel(name = "建档人")
    private String filingPerson;

    /** 建档时间 */
    @ApiModelProperty(value="建档时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "建档时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date filingTime;

    /** 关键词 */
    @ApiModelProperty(value="关键词")
    @Excel(name = "关键词")
    private String keyword;

    /** 客户详情 */
    @ApiModelProperty(value="客户详情")
    @Excel(name = "客户详情")
    private String details;

    /** 聊天记录 */
    @ApiModelProperty(value="聊天记录")
    @Excel(name = "聊天记录")
    private String record;

    /** 职业 */
    @ApiModelProperty(value="职业")
    @Excel(name = "职业")
    private String profession;

    /** 消费习惯 */
    @ApiModelProperty(value="消费习惯")
    @Excel(name = "消费习惯")
    private String consumptionCustom;

    /** 经济能力 */
    @ApiModelProperty(value="经济能力")
    @Excel(name = "经济能力")
    private String economics;

    /** 是否大单: 1.是，2.否 */
    @ApiModelProperty(value="是否大单: 1.是，2.否")
    @Excel(name = "是否大单: 1.是，2.否")
    private Integer isBigContract;

    /** 有无小孩: 1.有，2.无 */
    @ApiModelProperty(value="有无小孩: 1.有，2.无")
    @Excel(name = "有无小孩: 1.有，2.无")
    private Integer haveChild;

    /** 婚姻状况: 1.已婚 2.未婚 3.离异 */
    @ApiModelProperty(value="婚姻状况: 1.已婚 2.未婚 3.离异")
    @Excel(name = "婚姻状况: 1.已婚 2.未婚 3.离异")
    private Integer maritalStatus;

    /** 性格 */
    @ApiModelProperty(value="性格")
    @Excel(name = "性格")
    private String personality;

    /** E看牙病历号 */
    @ApiModelProperty(value="E看牙病历号")
    @Excel(name = "E看牙病历号")
    private String teethCaseE;

    /** 到店状态 */
    @ApiModelProperty(value="到店状态")
    @Excel(name = "到店状态")
    private String reachState;

    /** 到店时间 */
    @ApiModelProperty(value="到店时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到店时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date onClinicTime;

    /** 回访状态 */
    @ApiModelProperty(value="回访状态")
    @Excel(name = "回访状态")
    private String callBackState;

    /** 初诊tc */
    @ApiModelProperty(value="初诊tc")
    @Excel(name = "初诊tc")
    private String firstTc;

    /** 跟进人 */
    @ApiModelProperty(value="跟进人")
    @Excel(name = "跟进人")
    private String followPerson;

    /** 归属人 */
    @ApiModelProperty(value="归属人")
    @Excel(name = "归属人")
    private String affiliationPerson;

    /** 回访 */
    @ApiModelProperty(value="回访")
    @Excel(name = "回访")
    private String reach;

    /** 最后回访时间 */
    @ApiModelProperty(value="最后回访时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后回访时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finalVisitTime;

    /** 预约回访时间 */
    @ApiModelProperty(value="预约回访时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约回访时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reservationVisitTime;

    /** 开单状态 */
    @ApiModelProperty(value="开单状态")
    @Excel(name = "开单状态")
    private String billingState;

    /** 成交金额 */
    @ApiModelProperty(value="成交金额")
    @Excel(name = "成交金额")
    private BigDecimal turnoverMoney;

    /** 结账时间 */
    @ApiModelProperty(value="结账时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结账时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkoutTime;

    /** 备注 */
    @ApiModelProperty(value="备注")
    @Excel(name = "备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOldReservationsId(String oldReservationsId) 
    {
        this.oldReservationsId = oldReservationsId;
    }

    public String getOldReservationsId() 
    {
        return oldReservationsId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setImageUrl(String imageUrl) 
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() 
    {
        return imageUrl;
    }
    public void setSex(Integer sex) 
    {
        this.sex = sex;
    }

    public Integer getSex() 
    {
        return sex;
    }
    public void setAge(Integer age) 
    {
        this.age = age;
    }

    public Integer getAge() 
    {
        return age;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setPhoneOwnership(Integer phoneOwnership) 
    {
        this.phoneOwnership = phoneOwnership;
    }

    public Integer getPhoneOwnership() 
    {
        return phoneOwnership;
    }
    public void setPhoneNumber2(String phoneNumber2) 
    {
        this.phoneNumber2 = phoneNumber2;
    }

    public String getPhoneNumber2() 
    {
        return phoneNumber2;
    }
    public void setPhoneOwnership2(Integer phoneOwnership2) 
    {
        this.phoneOwnership2 = phoneOwnership2;
    }

    public Integer getPhoneOwnership2() 
    {
        return phoneOwnership2;
    }
    public void setReservationTime(Date reservationTime) 
    {
        this.reservationTime = reservationTime;
    }

    public Date getReservationTime() 
    {
        return reservationTime;
    }
    public void setReservationClinic(Long reservationClinic) 
    {
        this.reservationClinic = reservationClinic;
    }

    public Long getReservationClinic() 
    {
        return reservationClinic;
    }
    public void setReservationDisease(String reservationDisease) 
    {
        this.reservationDisease = reservationDisease;
    }

    public String getReservationDisease() 
    {
        return reservationDisease;
    }
    public void setVisitDisease(String visitDisease) 
    {
        this.visitDisease = visitDisease;
    }

    public String getVisitDisease() 
    {
        return visitDisease;
    }
    public void setReservationNumber(String reservationNumber) 
    {
        this.reservationNumber = reservationNumber;
    }

    public String getReservationNumber() 
    {
        return reservationNumber;
    }
    public void setCaseNumber(String caseNumber) 
    {
        this.caseNumber = caseNumber;
    }

    public String getCaseNumber() 
    {
        return caseNumber;
    }
    public void setChannelFirst(String channelFirst) 
    {
        this.channelFirst = channelFirst;
    }

    public String getChannelFirst() 
    {
        return channelFirst;
    }
    public void setChannelSecond(String channelSecond) 
    {
        this.channelSecond = channelSecond;
    }

    public String getChannelSecond() 
    {
        return channelSecond;
    }
    public void setChannelThird(String channelThird) 
    {
        this.channelThird = channelThird;
    }

    public String getChannelThird() 
    {
        return channelThird;
    }
    public void setMediumFirst(String mediumFirst) 
    {
        this.mediumFirst = mediumFirst;
    }

    public String getMediumFirst() 
    {
        return mediumFirst;
    }
    public void setMediumSecond(String mediumSecond) 
    {
        this.mediumSecond = mediumSecond;
    }

    public String getMediumSecond() 
    {
        return mediumSecond;
    }
    public void setMediumThird(String mediumThird) 
    {
        this.mediumThird = mediumThird;
    }

    public String getMediumThird() 
    {
        return mediumThird;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setWechatNumber(String wechatNumber) 
    {
        this.wechatNumber = wechatNumber;
    }

    public String getWechatNumber() 
    {
        return wechatNumber;
    }
    public void setQqNumber(String qqNumber) 
    {
        this.qqNumber = qqNumber;
    }

    public String getQqNumber() 
    {
        return qqNumber;
    }
    public void setOtherWay(String otherWay) 
    {
        this.otherWay = otherWay;
    }

    public String getOtherWay() 
    {
        return otherWay;
    }
    public void setReservationDoctor(String reservationDoctor) 
    {
        this.reservationDoctor = reservationDoctor;
    }

    public String getReservationDoctor() 
    {
        return reservationDoctor;
    }
    public void setReservationTc(String reservationTc) 
    {
        this.reservationTc = reservationTc;
    }

    public String getReservationTc() 
    {
        return reservationTc;
    }
    public void setObstacle(String obstacle) 
    {
        this.obstacle = obstacle;
    }

    public String getObstacle() 
    {
        return obstacle;
    }
    public void setFilingPerson(String filingPerson) 
    {
        this.filingPerson = filingPerson;
    }

    public String getFilingPerson() 
    {
        return filingPerson;
    }
    public void setFilingTime(Date filingTime) 
    {
        this.filingTime = filingTime;
    }

    public Date getFilingTime() 
    {
        return filingTime;
    }
    public void setKeyword(String keyword) 
    {
        this.keyword = keyword;
    }

    public String getKeyword() 
    {
        return keyword;
    }
    public void setDetails(String details) 
    {
        this.details = details;
    }

    public String getDetails() 
    {
        return details;
    }
    public void setRecord(String record) 
    {
        this.record = record;
    }

    public String getRecord() 
    {
        return record;
    }
    public void setProfession(String profession) 
    {
        this.profession = profession;
    }

    public String getProfession() 
    {
        return profession;
    }
    public void setConsumptionCustom(String consumptionCustom) 
    {
        this.consumptionCustom = consumptionCustom;
    }

    public String getConsumptionCustom() 
    {
        return consumptionCustom;
    }
    public void setEconomics(String economics) 
    {
        this.economics = economics;
    }

    public String getEconomics() 
    {
        return economics;
    }
    public void setIsBigContract(Integer isBigContract) 
    {
        this.isBigContract = isBigContract;
    }

    public Integer getIsBigContract() 
    {
        return isBigContract;
    }
    public void setHaveChild(Integer haveChild) 
    {
        this.haveChild = haveChild;
    }

    public Integer getHaveChild() 
    {
        return haveChild;
    }
    public void setMaritalStatus(Integer maritalStatus) 
    {
        this.maritalStatus = maritalStatus;
    }

    public Integer getMaritalStatus() 
    {
        return maritalStatus;
    }
    public void setPersonality(String personality) 
    {
        this.personality = personality;
    }

    public String getPersonality() 
    {
        return personality;
    }
    public void setTeethCaseE(String teethCaseE) 
    {
        this.teethCaseE = teethCaseE;
    }

    public String getTeethCaseE() 
    {
        return teethCaseE;
    }
    public void setReachState(String reachState) 
    {
        this.reachState = reachState;
    }

    public String getReachState() 
    {
        return reachState;
    }
    public void setOnClinicTime(Date onClinicTime) 
    {
        this.onClinicTime = onClinicTime;
    }

    public Date getOnClinicTime() 
    {
        return onClinicTime;
    }
    public void setCallBackState(String callBackState) 
    {
        this.callBackState = callBackState;
    }

    public String getCallBackState() 
    {
        return callBackState;
    }
    public void setFirstTc(String firstTc) 
    {
        this.firstTc = firstTc;
    }

    public String getFirstTc() 
    {
        return firstTc;
    }
    public void setFollowPerson(String followPerson) 
    {
        this.followPerson = followPerson;
    }

    public String getFollowPerson() 
    {
        return followPerson;
    }
    public void setAffiliationPerson(String affiliationPerson) 
    {
        this.affiliationPerson = affiliationPerson;
    }

    public String getAffiliationPerson() 
    {
        return affiliationPerson;
    }
    public void setReach(String reach) 
    {
        this.reach = reach;
    }

    public String getReach() 
    {
        return reach;
    }
    public void setFinalVisitTime(Date finalVisitTime) 
    {
        this.finalVisitTime = finalVisitTime;
    }

    public Date getFinalVisitTime() 
    {
        return finalVisitTime;
    }
    public void setReservationVisitTime(Date reservationVisitTime) 
    {
        this.reservationVisitTime = reservationVisitTime;
    }

    public Date getReservationVisitTime() 
    {
        return reservationVisitTime;
    }
    public void setBillingState(String billingState) 
    {
        this.billingState = billingState;
    }

    public String getBillingState() 
    {
        return billingState;
    }
    public void setTurnoverMoney(BigDecimal turnoverMoney)
    {
        this.turnoverMoney = turnoverMoney;
    }

    public BigDecimal getTurnoverMoney()
    {
        return turnoverMoney;
    }
    public void setCheckoutTime(Date checkoutTime) 
    {
        this.checkoutTime = checkoutTime;
    }

    public Date getCheckoutTime() 
    {
        return checkoutTime;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("oldReservationsId", getOldReservationsId())
            .append("name", getName())
            .append("imageUrl", getImageUrl())
            .append("sex", getSex())
            .append("age", getAge())
            .append("phoneNumber", getPhoneNumber())
            .append("phoneOwnership", getPhoneOwnership())
            .append("phoneNumber2", getPhoneNumber2())
            .append("phoneOwnership2", getPhoneOwnership2())
            .append("reservationTime", getReservationTime())
            .append("reservationClinic", getReservationClinic())
            .append("reservationDisease", getReservationDisease())
            .append("visitDisease", getVisitDisease())
            .append("reservationNumber", getReservationNumber())
            .append("caseNumber", getCaseNumber())
            .append("channelFirst", getChannelFirst())
            .append("channelSecond", getChannelSecond())
            .append("channelThird", getChannelThird())
            .append("mediumFirst", getMediumFirst())
            .append("mediumSecond", getMediumSecond())
            .append("mediumThird", getMediumThird())
            .append("address", getAddress())
            .append("wechatNumber", getWechatNumber())
            .append("qqNumber", getQqNumber())
            .append("otherWay", getOtherWay())
            .append("reservationDoctor", getReservationDoctor())
            .append("reservationTc", getReservationTc())
            .append("obstacle", getObstacle())
            .append("filingPerson", getFilingPerson())
            .append("filingTime", getFilingTime())
            .append("keyword", getKeyword())
            .append("details", getDetails())
            .append("record", getRecord())
            .append("profession", getProfession())
            .append("consumptionCustom", getConsumptionCustom())
            .append("economics", getEconomics())
            .append("isBigContract", getIsBigContract())
            .append("haveChild", getHaveChild())
            .append("maritalStatus", getMaritalStatus())
            .append("personality", getPersonality())
            .append("teethCaseE", getTeethCaseE())
            .append("reachState", getReachState())
            .append("onClinicTime", getOnClinicTime())
            .append("callBackState", getCallBackState())
            .append("firstTc", getFirstTc())
            .append("followPerson", getFollowPerson())
            .append("affiliationPerson", getAffiliationPerson())
            .append("reach", getReach())
            .append("finalVisitTime", getFinalVisitTime())
            .append("reservationVisitTime", getReservationVisitTime())
            .append("billingState", getBillingState())
            .append("turnoverMoney", getTurnoverMoney())
            .append("checkoutTime", getCheckoutTime())
            .append("remarks", getRemarks())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
